/**
 * 
 */
package com.scpii.universal.hibernate.dao;

import java.util.List;

import com.scpii.universal.dto.ViewCateRelationDto;
import com.scpii.universal.hibernate.entity.AppViewCatelogRalationTab;

/**
 * universalWeb
 * @author liuhj
 * 2012-7-23下午05:23:44
 */
public interface AppViewCatelogRalationDao extends BaseDao<AppViewCatelogRalationTab, Integer> {

	/**
	 * 批量删除分类视图关联
	 * @param cateIds
	 * @author liuhj
	 * 2012-7-23下午05:25:46
	 */
	public void delete(String cateIds);
	
	/**
	 * 根据ID获得分类视图关联信息
	 * @param id
	 * @param properties
	 * @return
	 * @author liuhj
	 * 2012-7-26上午02:17:16
	 */
	public AppViewCatelogRalationTab getRelationById(int id,String[] properties);
	
	/**
	 * 删除分类及所有子分类和视图的关联
	 * @param viewId
	 * @param cateIds
	 * @author liuhj
	 * 2012-7-26上午02:27:10
	 */
	public void deleteByViewAndCateIds(int viewId,String cateIds);
	
	/**
	 * 检测视图和分类的对应是否存在
	 * @param viewId
	 * @param cateId
	 * @return
	 * @author liuhj
	 * 2012-7-26上午10:46:26
	 */
	public boolean checkIfExistRelation(int viewId, int cateId);
	
	/**
	 * 根据视图删除所有视图分类关联
	 * @param intViewId
	 * @author liuhj
	 * 2012-7-26上午11:07:29
	 */
	public void deleteRelationsByViewId(int intViewId);
	
	/**
	 * 根据视图ID获得所有视图分类关联
	 * @param viewId
	 * @param properties
	 * @return
	 * @author liuhj
	 * 2012-7-26上午11:24:00
	 */
	public List<AppViewCatelogRalationTab> getRelationsByViewId(int viewId,String[] properties);
	
	/**
	 * 根据视图ID获得所有视图分类关联及分类信息
	 * @param viewId
	 * @return
	 * @author liuhj
	 * 2012-7-30下午01:40:14
	 */
	public List<ViewCateRelationDto> getRelationsByViewId(int viewId);
	
	/**
	 * 根据分类ID获取视图分类关联
	 * @param cateId
	 * @return
	 * @author liuhj
	 * 2012-7-30下午09:25:42
	 */
	public List<ViewCateRelationDto> getRelationsByCateId(int cateId);
	
	/**
	 * 根据跳转页面ID查询视图分类关联
	 * @param pageId
	 * @param properties TODO
	 * @return
	 * @author liuhj
	 * 2012-8-11下午03:39:29
	 */
	public AppViewCatelogRalationTab getRelationByPageId(int pageId, String[] properties);
}
